<?php

require_once 'model/traducoes.php';

abstract class ActTraducoes extends mTraducoes {
	
	protected $sqlInsert = "insert into traducoes (key_value, valor, cod_idioma) values ('%s','%s','%s')";
	protected $sqlDelete = "delete from traducoes where key_value = '%s' and cod_idioma=%s";
	protected $sqlUpdate = "update traducoes set valor='%s', cod_idioma='%s', key_value='%s' where key_value='%s' and cod_idioma=%s";
	protected $sqlSelect = "select * from traducoes %s %s";

	public function load(){
		$rs = $this->select(sprintf("where key_value='%s' and cod_idioma='%s'",$this->getKeyValue(),$this->getCodIdioma()));
		$this->setKeyValue($rs[0]['key_value']);
		$this->setCodIdioma($rs[0]['cod_idioma']);
		$this->setValor($rs[0]['valor']);
		return $this;
	}
		
	
	public function insert(){
		$sql = sprintf($this->sqlInsert,
					   $this->getKeyValue(),
					   $this->getValor(),
					   $this->getCodIdioma()
					  );
		return $this->RunQuery($sql);
	}
	
	public function delete (){
		$sql = sprintf($this->sqlDelete,
					   $this->getKeyValue(),
					   $this->getCodIdioma()
					  );
		return $this->RunQuery($sql);
	}

	// TODO ver como fazer o PHPDOC adequado disso
	// passa os originais e via os atributos os novos valores
	public function update($key_value,$idioma){
		$sql = sprintf($this->sqlUpdate,
					   $this->getValor(),
					   $this->getCodIdioma(),
					   $this->getKeyValue(),
					   $key_value,
					   $idioma
					  );
		return $this->RunQuery($sql);
	}
	
	public function select($where = '', $oder=''){
		$sql = sprintf($this->sqlSelect,
						$where,
						$oder
					   );
		return $this->RunSelect($sql);			   
	}
}
?>